"""
age = 22
print(age)
"""
# 定义变量，一定要遵循先定义，后使用
# print(student) # NameError: name 'student' is not defined
# 定义变量规则：由字母、数字和下划线构成，数字不能开头
"""
3a = "测试一下，你就知道"
print(3a) # SyntaxError: incalid syntax
"""
"""
a3 = "测试一下，你就知道"
print(a3)
"""
"""
_ = "来测科技"
print(_)
"""
# 大小写敏感，大写A和小写a是不同的变量
"""
A = "金巴"
a = "俊博"
print(A)
print(a)
"""
"""
print = 55 # 不要以关键字命名变量
print("测试一下") # 像这行代码一样，python会把它当成int对象55，而不再是打印函数了
"""
# 定义变量一定要见名识意
"""
student_age = 23  # int类型，表示整数型
student_phone_number = "15948551300" # str类型，表示字符串
student_address = "辽宁省沈阳市沈河区旭辉中心B座3301"
StudentClassName = "来测科技22期"
print(student_age)
print(student_phone_number)
"""
# float类型，浮点型
"""
c = 1.23
print(c) # 1.23

c = 0.1+0.2
print(c) # 0.30000000000000004
"""
# str类型，字符串
# 字符串支持单引号、双引号、三引号
# s = '你不用刻意去改变自己，我来适应你就好了'
# print(s)
# s1 = "你不用刻意去改变自己，反正我也不会改变"
# print(s1)
# s2 = """你不需要改变自己，我会改变的"""
# print(s2)
# 字符串内容，带有单引号
"""
s4 = "'你不需要改变自己，我永远不会改变'"
print(s4)
"""
# 字符串内容，带有双引号
"""
s5 = '"你不需要改变自己，我永远不会改变"'
print(s5)
"""
# 长字符串
# 单引号和双引号不能跨行使用
# s="道路千万条,\
# 	安全第一条,\
# 		行车不规范,\
# 			亲人两开花,"
# print(s)
# s1='''道路千万条,
# 安全第一条,
# 行车不规范,
# 亲人两开花,'''
# print(s1)

# 转义字符
# \n ： 表示换行
# \t ： 制表符
# print("C:\tProgram Files\nGoogle\Chrome\Application")
# C:	Program Files
# Google\Chrome\Application

# 不转义
# print(r"C:\tProgram Files\nGoogle\Chrome\Application")
# print("C:\\tProgram Files\\nGoogle\Chrome\Application")
# C:\tProgram Files\nGoogle\Chrome\Application

#print函数中使用转义字符
# print("大家好！\n这里是来测科技！\n祝大家早日高薪就业！")

# 格式化字符串
# + : 在字符串里面，是连接符的意思
"""
a = "abc" + "haha" + "哈哈"
print(a) # abchaha哈哈
"""
# *：在字符串里面是可以进行乘法运算的，只支持整数型
"""
student = "金巴"*2
print(student*6)
"""
# 字符串不能和其他类型进行加法运算
"""
a = 123
print("a"+a) # TypeError: can only concatenate str (not "int") to str
"""

# %占位符
"""
b = "假如生活出卖了我 %s"%'我希望是论斤卖' # %s ，是一个占位，后面的：我希望是论斤卖
print(b) # 假如生活出卖了我 我希望是论斤卖
"""
# %s：字符串的占位符
# print("大家好，我叫：%s，来自：%s，今年：%s岁"%("侯雯中","辽宁省沈阳市",55))
# 第一个%s ：侯雯中
# 第二个%s：辽宁省沈阳市
# 第三个%s：55
# 大家好，我叫：侯雯中，来自：辽宁省沈阳市，今年：55岁

# %f 浮点数占位符
"""
print("今天苹果价格是：%f 元"%(3.15))
# 今天苹果价格是：3.150000 元
"""
"""
# 浮点数占位符，保留两位
print("今天苹果价格是：%.2f元"%(3.15))
# 今天苹果价格是：3.15 元
"""

# %d 整数型占位符
"""
print("来测科技22期有%d个学员"%(19))
# %d : 19
# 来测科技22期有19个学员
"""
# 通用的占位符：%s
# print("今天去菜市场买菜，香蕉是：%s元，我买了%s个，"
#       "回到了%s的家"%(3.15,15,"辽宁省沈阳市旭辉中心B座"))
# 不能混合用其他错误类型的
# print("大家好，我叫%d"%("侯雯中")) # TypeError: %d format: a number is required, not str
# format格式化字符串
"""
name = "侯雯中"
print("大家好，我叫{}，今年{}岁".format("侯雯中",98))
print(f"大家好，我叫{name}，今年{85}岁") # 这个是上面方法的缩写，f 是format的缩写
"""

# 布尔值：真、假
"""
a = True
print(a)
b= False
print(b)
"""

# 空值：None
"""
a = None
print(a)
"""

# 类型检查：type
"""
a = 123 # 整数型
b = '123' # 字符串
c = 1.2 # 浮点型，小数型
d = [1,2,3] # 列表类型
e = {"姓名":"侯雯中"} # 字典，字典是由key和value组成
f = (1,2,3) # 元组，用小括号括起来的
g = {1,2,3} # 集合，用大括号括起来的。集合是没有顺序的，无序
print(type(a)) # <class 'int'>
print(type(b)) # <class 'str'>
print(type(c)) # <class 'float'>
print(type(d)) # <class 'list'>
print(type(e)) # <class 'dict'>
print(type(f)) # <class 'tuple'>
print(g)
print(type(g)) # <class 'set'>
print(type(True)) #<class 'bool'>
print(type(None)) # <class 'NoneType'>
"""


# 检查变量存放的地址空间
a = 10
b = 10
print(id(a)) # 2646656903760
print(id(b)) # 2646656903760

a = 10
b = 20
print(a)
print(b)


